package tp3_ex5;

/* Class permettant de contenir des Object */
public class TamponCirculaire 
{
	
	private Object[] tab;
	private int taille;
	private int index;
	private int indexRetr;
	int nbElement;
	
	/* Constructeur du Tableau circulaire qui prend la taille du tableau */
	public TamponCirculaire(int taille)
	{
		this.taille = taille;
		tab = new Object[this.taille];
		index = 0;
		indexRetr = 0;
		nbElement = 0;
	}
	
	/* Methode qui permet de deposer un Object */
	public void depose(Object obj)
	{
		if(index == taille)
			index = 0;
		tab[index] = obj;
		index++;
		nbElement++;
	}
	/* Methode qui permet de retirer un Object */
	public Object  preleve()
	{
		String tmp;
		if(indexRetr == taille)
		{
			indexRetr = 0;
		}
		tmp = (String)tab[indexRetr];
		tab[indexRetr] = null;
		nbElement--;
		indexRetr++;
		return tmp;
	}
	
	/* Getter permettant de retourner la taille du tableau */
	public int getTaille() {
		return taille;
	}

	/* Getteur permettant de recuperer le nombre d'element dans le tableau */
	public int getNbElement() {
		return nbElement;
	}
	
}
